package com.nnnu.wsnackshop.pojo.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 库存变更DTO
 * 用于消息队列传递库存变更信息
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class InventoryChangeDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * SKU ID
     */
    private Integer skuId;

    /**
     * 变更数量
     * 正数表示增加库存，负数表示减少库存
     */
    private Integer quantity;

    /**
     * 订单ID
     */
    private Long orderId;

    /**
     * 订单编号
     */
    private String orderNo;

    /**
     * 商品名称
     */
    private String productName;

    /**
     * 操作类型
     * 0=下单减库存, 1=取消订单加库存, 2=人工调整
     */
    private Integer operationType;

    /**
     * 备注信息
     */
    private String remark;
}